package com.xjy.system.domain.vo;


import com.xjy.common.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.util.Date;



/**
 * 押金基础信息视图对象 sys_deposit
 *
 * @author xjy
 * @date 2022-03-11
 */
@Data
@ApiModel("押金基础信息视图对象")
public class SysDepositVo {

	private static final long serialVersionUID = 1L;
	/** 项目名称 */
	@Excel(name = "项目名称")
	@ApiModelProperty("项目名称")
	private String projName;

	/** 合同名称 */
	@Excel(name = "合同名称")
	@ApiModelProperty("合同名称")
	private String contractName;


	/** 结算项目名称 */
	@Excel(name = "结算项目")
	@ApiModelProperty("结算项目")
	private String resultProjName;
	/** 押金单据编号 */
	@Excel(name = "单据编号")
	@ApiModelProperty("单据编号")
	private String depNo;
	/** 押金收取方 */
	@Excel(name = "收取方")
	@ApiModelProperty("收取方")
	private String depCollecor;

	/** 押金支付方 */
	@Excel(name = "支付方")
	@ApiModelProperty("支付方")
	private String depPaior;
	/** 押金金额 */
	@Excel(name = "发生金额（元）")
	@ApiModelProperty("发生金额（元）")
	private BigDecimal depAmt;
	/** 押金日期 */
	@Excel(name = "发生日期" , width = 30, dateFormat = "yyyy-MM-dd")
	@ApiModelProperty("发生日期")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date depTime;
	/** 押金内容 */
	@Excel(name = "押金内容")
	@ApiModelProperty("押金内容")
	private String depContent;

	/** 押金收支方式:0：现金，1：银行（默认：银行） */
	@Excel(name = "收付方式:0：现金，1：银行" , readConverterExp = "默=认：银行")
	@ApiModelProperty("收付方式:0：现金，1：银行（默认：银行）")
	private Integer depColpayType;

	/** 押金收款/支付账户名称 */
	@Excel(name = "账户名称")
	@ApiModelProperty("押金收款/支付账户名称")
	private String depColpayAccount;

	/** 押金收款/支付账户开户行 */
	@Excel(name = "账户开户行")
	@ApiModelProperty("押金收款/支付账户开户行")
	private String depColpayBank;

	/** 押金收款/支付账户号码 */
	@Excel(name = "账户号码")
	@ApiModelProperty("押金收款/支付账户号码")
	private String depColpayNo;


	/** 对方银行账户名称 */
	@Excel(name = "对方账户名称")
	@ApiModelProperty("对方银行账户名称")
	private String colBankName;


	/** 对方银行账户开户行 */
	@Excel(name = "对方账户开户行")
	@ApiModelProperty("对方银行账户开户行")
	private String colBank;

	/** 对方银行账户号码 */
	@Excel(name = "对方账户号码")
	@ApiModelProperty("对方银行账户号码")
	private String colBankNo;

	/** 押金收据编号 */
	@Excel(name = "收据编号")
	@ApiModelProperty("收据编号")
	private String depColNo;

	/** 押金收据影像 */
	@Excel(name = "收据影像")
	@ApiModelProperty("收据影像")
	private String depColImg;

	/** 收取/支付之后进行清退/退回操作，剩余的金额 */
	@Excel(name = "余额（元）")
	@ApiModelProperty("收取/支付之后进行清退/退回操作，剩余的金额")
	private BigDecimal depBalance;

	/** 备注：扎帐说明 */
	@Excel(name = "备注")
	@ApiModelProperty("备注：扎帐说明")
	private String remarks;

	/** 押金条状态:0：未知；收取：（1：收回）；支付：（2：退还） */
	@Excel(name = "押金条状态:0：未知；收取：（1：收回）；支付：（2：退还）")
	@ApiModelProperty("押金条状态:0：未知；收取：（1：收回）；支付：（2：退还）")
	private Integer depStatus;

	/** 审核状态 0：未审核（默认）；1：审核 */
	@Excel(name = "审核状态 0：未审核,1：审核")
	@ApiModelProperty("审核状态 0：未审核（默认）；1：审核")
	private Boolean auditStatus;


	/** 押金ID */
	@ApiModelProperty("押金ID")
	private Long id;

	/** 项目id */
	@ApiModelProperty("项目id")
	private Long projId;



	/** 合同id */
	@ApiModelProperty("合同id")
	private Long contractId;

	/** 结算项目id */
	@ApiModelProperty("结算项目id")
	private Long resultProjId;



	/** 押金收取/支付之后的退回单据编号 */
	@ApiModelProperty("押金收取/支付之后的退回单据编号")
	private String depNoBack;

	/** 押金大类:0：收取押金，1：支付押金 */
	@ApiModelProperty("押金大类:0：收取押金，1：支付押金")
	private Integer depMaxType;



	/** 押金小类：收取：（0：收取，1：清退）；支付：（0：支付，1：退回） */
	@ApiModelProperty("押金小类：收取：（0：收取，1：清退）；支付：（0：支付，1：退回）")
	private Integer depMinType;







	/** 押金经办人 */
	@ApiModelProperty("押金经办人")
	private String depHandler;

	/** 经办人id */
	@ApiModelProperty("经办人id")
	private Long depHandlerId;


	@ApiModelProperty("押金收据影像名称")
	private String depColImgName;





	/** 预留字段1 */
	@ApiModelProperty("预留字段1")
	private String reserveOne;

	/** 预留字段2 */
	@ApiModelProperty("预留字段2")
	private String reserveTwo;

	/** 预留字段3 */
	@ApiModelProperty("预留字段3")
	private String reserveThree;





	/** 押金收款/支付账户ID */
	@ApiModelProperty("押金收款/支付账户ID")
	private Long depPayaccountId;





	/** 押金收取方id */
	@ApiModelProperty("押金收取方id")
	private Long depCollecorId;



	/** 押金支付方id */
	@ApiModelProperty("押金支付方id")
	private Long depPaiorId;



	/** $column.columnComment */
	@ApiModelProperty("$column.columnComment")
	private Long version;


}
